From 0332dbca94c157034588468e2655746818d4bbf3 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Tue, 1 Aug 2017 16:44:20 +0800 Subject: [PATCH] gtk/gentypefuncs.py: Open files in utf-8 encoding On Python-3.x, we need to set the encoding when opening files, when this script is run, as it might contain items that are not supported by the system's locale (for example, non-English Windows). So, we use a wrapper to set the encoding on Python 3.x, but open the file as we did when using Python 2.x, since file encodings are not supported there. https://bugzilla.gnome.org/show_bug.cgi?id=785210 --- gtk/gentypefuncs.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk/gentypefuncs.py b/gtk/gentypefuncs.py index 0e42002a17..b17b7233a1 100644 --- a/gtk/gentypefuncs.py +++ b/gtk/gentypefuncs.py @@ -17,9 +17,15 @@ if debug: print ('Output file: ', out_file) if debug: print (len(in_files), 'input files') +def open_file(filename, mode): + if sys.version_info[0] < 3: + return open(filename, mode=mode) + else: + return open(filename, mode=mode, encoding='utf-8') + for filename in in_files: if debug: print ('Input file: ', filename) - with open(filename, "r") as f: + with open_file(filename, "r") as f: for line in f: line = line.rstrip('\n').rstrip('\r') # print line -- 2.30.2